feat(web): add workspace-aware terminal panel layout#1690
feat(web): add workspace-aware terminal panel layout#1690justsomelegs wants to merge 17 commits intopingdotgg:mainfrom
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR adds a substantial new feature allowing users to configure terminal panel positioning (bottom vs right side) with multiple layout modes and new settings. The scope includes new components, new state management hooks, and changes to panel coordination logic—warranting review to ensure the new UI behavior and settings work as intended. You can customize Macroscope's approvability policy. Learn more. |
2c154b3 to
84bc1fd
Compare
66628e5 to
ab93ba4
Compare
…/justsomelegs/t3code into t3code/terminal-layout-and-shell
…/justsomelegs/t3code into t3code/terminal-layout-and-shell
…/justsomelegs/t3code into t3code/terminal-layout-and-shell
What Changed
Added workspace-aware terminal layout options in the web app.
example.mp4
This PR:
bottomandrightChatViewand into the route/workspace layoutThreadTerminalPanelleftterminal position after trying it and deciding it was not a good fitWhy
The built-in terminal was previously hard-wired to a bottom drawer inside the chat area. That caused a few UX problems:
This approach keeps the bottom workspace-scoped terminal working while making the terminal placement a real workspace concern instead of a chat-only concern. It also reuses the shared sidebar primitive for the wide right rail so the panel behavior is much closer to the existing main-branch sidebar behavior instead of relying on a separate custom animation system.
UI Changes
Before:
After:
Checklist
Note
Add workspace-aware terminal panel layout with right-rail docking and position settings
ThreadTerminalDrawertoThreadTerminalPanelthroughout and addslayout('bottom'|'side') andbottomScope('chat'|'workspace') props that control resize behavior, split orientation, and height clampinguseWorkspacePanelControllerhookresolveWorkspacePanelsto derive docking targets (bottom-inline,bottom-workspace,right) and sheet/rail visibility flags; terminal renders into its target via React portal usingWorkspaceTerminalPortalTargetsContextterminalPosition,terminalBottomScope,terminalRightRailWidthMode) with UI controls in the General settings panel and legacy'left'position migrated to'bottom'shouldAcceptWorkspaceSidebarWidthto guard sidebar resize against composer minimum-width constraintsterminalPositionto'right'makes the diff and terminal panels mutually exclusive in the right rail — opening one closes the otherMacroscope summarized 27c0886.